﻿#define _CRT_SECURE_NO_WARNINGS 1

//单选题
//1.下面关于C语言的编译和链接说法错误的是？
//
//A.C语言是一门编译型计算机语言
//B.写出来的C语言代码直接就可以运行的
//C.C语言代码需要经过编译和链接生成可执行程序才能运行的
//D.C语言代码经过编译生成目标文件，目标文件和链接库通过链接生成可执行程序‘
//
//选择 : B
//
//解析：A，C，D都是对的，
//B是错误的原因是，写成来的c文件是文本文件，而文本文件无法直接执行，需要编译器的编译和链接器的链接生成的可执行文件才能直接运行。



//单选题
//2.关于集成开发环境描述错误的是？
//
//A.集成开发环境简称IDE
//B.集成开发环境一般都是将编辑、编译、链接、调试等功能集成在一起的一个开发境
//C.集成开发环境就是编译器
//D.集成开发环境使用起来方便，大大提升了开发和调试的效率
//
//选择：C
//
//解析：A，B，D都是对的
//C是错误的原因是，集成开发环境，不仅仅有编译器，还有调试器，连接器，编辑器，等等一些功能。



//单选题
//3.关于C语言中源文件和头文件说法正确的是？
//
//A.C语言的源文件的后缀是.cpp
//B.头文件没什么用，只要有源文件就行了
//C.C语言中源文件的后缀是.c，头文件的后缀是.h
//D.C语言的源文件可以没有后缀
//
//选项：C
//
//解析：A，B，D都是错误的，只有C是正确的
//A错误的原因是，以.cpp为后缀名的C++语言
//B 错误的原因是，要是使用C语言中的库函数，就必须要有头文件，要不然编译器会报错
//D错误的原因是，要是C语言的源文件后面没有后缀，就变成其他可格式的文件了，无法使用编译器编译



//单选题
//4.C语言规定，在一个源程序中，main函数的位置（）
//
//A.必须在最开始
//B.必须在库函数的后面
//C.可以任意
//D.必须在最后
//
//选项：C
//
//解析：A，B，D都是错误的，只有C是正确的。
//A.错误的原因是，C语言中没有要求main函数必须放在什么位置上。
//B.错误的原因是，不管在有库函数还是没有库函数的情况下，都可以放在任何位置，
//D.错误的原因是，C语言中没有要求main函数必须放在什么位置上。
//
//实操
//int main(void) {
//	printf("hello world");
//
//	return 0;
//}
//
//#include <stdio.h>



//多选题
//5.关于main函数错误的是？
//
//A.main函数是程序的入口
//B.一个C语言程序中可以写多个main函数
//C.main函数的名字是可以随便改的，比如：mian
//D.main函数的名字是固定的，一个工程中，有且仅有一个main函数
//
//选项：B，C，
//
//解析：A，D是正确的，B，C是错误的
//B错误的原因是，在C语言中，一个项目工程中只能有且只能有一个main函数。
//C.错误的原因是，在C语言中，只有main函数是程序的入口，不能是其他的标识符。



//单选题
//6.printf和库函数描述错误的是？
//
//A.printf是库函数，不需要包含头文件就可以使用
//B.库函数是C语言标准约定的，由各个C语言编译器的厂商实现的，所以各个编译器	的库函数使用和功能是一样的，但是内部实现是有差异的。
//C.printf函数是用来在标准输出上打印格式化的信息的
//D.printf函数打印字符使用 % c，打印整数使用 % d指定格式
//
//选项：A，
//
//解析：B，C，D是正确的，只有A是错误的
//A错误的原因是，在C语言中，在使用库函数的情况下，需要包含头文件，要不然编译器会不认识这个库函数，会标为未定义函数。



//单选题
//7.下面哪个不是关键字：()
//A. int
//B. struct
//C.define
//D.Continue
//
//选项：C
//
//解析：A，B，D都是关键字，只有C不是关键字。
//C错误的原因是，define是预处理指令。
//在编译之前，预处理器会处理define指令，一般用于定义宏。例如 #define PI 3.14就定义了一个名为PI的宏，其值为3.14。



//单选题
//8.用在switch语句中的关键字不包含哪个？()
//A. continue
//B. break
//C. default
//D.Case
//
//选项：A
//
//解析：A错误的原因是，continue关键字是用在循环语句当中的，switch不能使用会报错。
//
//操作
//#include <stdio.h>
//
//int main(void)
//{
//
//	switch (1)
//	{
//	case 1: break;
//	case 2: continue; break;//continue 会报错
//
//		default: break;
//	}
//}



//单选题
//9.关于C语言关键字说法正确的是：（   ）
//A.关键字可以自己创建
//B.关键字不能自己创建
//C.关键字可以做变量名
//D.typedef不是关键字
//
//选项：B
//
//解析：A，C，D都是错误的，只有B是正确的
//A.错误的原因是，在C语言中，关键字是自己不能创建的。
//C错误的原因是，在C语言中，关键字是不能做变量名的
//D错误的原因是，typedef是关键字。



//单选题
//10.关于字符的ASCII编码错误的是？
//A.小写字母的ASCII码值 + 32就能得到对应的大写字母的ASCII码值
//B.ASCII码值从0~31这32个字符是非打印控制字符，在界面上不显示任何东西，比	如：蜂鸣、回车、换行
//C.数字字符0~9的ASCII码值是连续递增的
//D.最初ASCII编码中只有128个字符的编码
//
//选项：A
//
//解析：B，C，D都是正确的，只有A是错误的
//A错误的原因是，小写字母的ASCII码值对应大写字母的ASCII的码值应该是 - 32
//大写字母的码值是65 - 90，小字母的码值是97 - 122




//单选题
//11.字符串的结束标志是：（）
//A.是' 0 '
//B.是EOF
//C.是 '\ 0 '
//D.是空格
//
//选项：C
//
//解析：A，B，D是错误的, 只有C是正确的
//A.错误的原因是，' 0 '是单纯0字符
//B.错误的原因是，EOF是定义在stdio.h中的宏定义，值是 - 1
//D  错误的原因是，空格不是结束标准，是一个字符。



//单选题
//12.下面代码的结果是：()
//# include < stdio. h>
//# include < string. h>
//int main()
//{
//	char arr[] = { 'b', 'i', 't' };
//	printf("%d\n", strlen(arr));
//	return 0;
//}
//
//A.3
//B.4
//C.随机值
//D.5
//
//选项：C
//
//解析：A，B，D都是错误的，只有C是正确的
//A, B, D错误的原因是，arr字符数组中，没有\0字符串的结束标志, 所以printf函数会一直打印下去，直到找个一个\0字符。



